The Benefit of Requirements Traceability When Evolving a Software Product: A Controlled Experiment
نویسندگان
چکیده
Software traceability is a required component of many software development processes. Advocates of requirements traceability cite advantages like easier program comprehension and support for software maintenance (i.e., software change). However, despite its growing popularity, there exists no published evaluation about the usefulness of requirements traceability. It is important, if not crucial, to investigate whether the use of requirements traceability can significantly support development tasks to eventually justify its costs. We thus conducted a controlled experiment with 71 subjects re-performing real maintenance tasks on two third-party development projects: half of the tasks with and the other half without traceability. Subjects sketched their task solutions on paper to focus on the their ability to solving the problems rather than their programming skills. Our findings show that subjects with traceability performed on average 24% faster on a given task and created on average 50% more correct solutions – suggesting that traceability not only saves effort but can profoundly improve software maintenance quality.
منابع مشابه
Traceability in the Co-evolution of Architectural Requirements and Design
Requirements and architectural design specifications can be conflicting and inconsistent, especially during the design period when requirements and architectural design are co-evolving. One reason is that stakeholders do not have up-to-date knowledge of each other’s work to fully understand potential conflicts and inconsistencies. Specifications are often documented in a natural language, which...
متن کاملMultifaceted Requirement Traceability Approach to Support Software Evolution
Software evolution is inevitable. When a system evolves, there are certain relationships among software artifacts that must be maintained. Requirement traceability is one of importance factor in facilitating software evolution since it maintains the artifacts relationship before and after a change is performed. Requirements traceability can be expensive activities. Many researchers have address...
متن کاملTraceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development
Requirements traceability, regardless of the process used to produce a software system, is an important quality attribute for the resulting software product. However, existing approaches to achieving requirements traceability have been specifically designed for traditional software development with formal requirements processes. With the wide industry adoption of agile development methodologies...
متن کاملA Tagging-Based Approach for Eliciting Engineering Requirements in Established Domains
Most traditional requirements engineering and elicitation techniques assume that the requirements being developed are high-level requirements for a new, “green-field” system. However, this is not always the case. In established domains, systems are often developed as new members of existing product lines. In these cases, architectural design knowledge already exists within the product line, and...
متن کاملTraceability for Complex Systems Engineering
Improved requirements traceability would result in significant cost savings since more requirements problems are due to failures in requirements management than failures in technical functions. Without adequate requirements traceability, errors are found late in system development and are expensive to repair. Our research identifies problems with industry's capability to trace product and proce...
متن کامل